//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.huawei.vod.model.asset;

import com.google.gson.annotations.SerializedName;
import com.huawei.vod.model.BaseResponse;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

public class QueryAssetDetailRsp extends BaseResponse {
    @SerializedName("asset_id")
    private String assetId = null;
    @SerializedName("base_info")
    private BaseInfo baseInfo = null;
    @SerializedName("transcode_info")
    private TranscodeInfo transcodeInfo = null;
    @SerializedName("thumbnail_info")
    private ThumbnailInfo thumbnailInfo = null;
    @SerializedName("review_info")
    private ReviewInfo reviewInfo = null;

    public QueryAssetDetailRsp() {
    }

    public String getAssetId() {
        return this.assetId;
    }

    public void setAssetId(String assetId_in) {
        this.assetId = assetId_in;
    }

    public BaseInfo getBaseInfo() {
        return this.baseInfo;
    }

    public void setBaseInfo(BaseInfo baseInfo_in) {
        this.baseInfo = baseInfo_in;
    }

    public TranscodeInfo getTranscodeInfo() {
        return this.transcodeInfo;
    }

    public void setTranscodeInfo(TranscodeInfo transcodeInfo_in) {
        this.transcodeInfo = transcodeInfo_in;
    }

    public ThumbnailInfo getThumbnailInfo() {
        return this.thumbnailInfo;
    }

    public void setThumbnailInfo(ThumbnailInfo thumbnailInfo_in) {
        this.thumbnailInfo = thumbnailInfo_in;
    }

    public ReviewInfo getReviewInfo() {
        return this.reviewInfo;
    }

    public void setReviewInfo(ReviewInfo reviewInfo_in) {
        this.reviewInfo = reviewInfo_in;
    }

    public static class TextReviewRet implements Serializable {
        private static final long serialVersionUID = 1L;
        @SerializedName("suggestion")
        private SuggestionEnum suggestion = null;
        @SerializedName("politics")
        private String politics = null;
        @SerializedName("porn")
        private String porn = null;
        @SerializedName("abuse")
        private String abuse = null;

        public TextReviewRet() {
        }

        public SuggestionEnum getSuggestion() {
            return this.suggestion;
        }

        public void setSuggestion(SuggestionEnum suggestion_in) {
            this.suggestion = suggestion_in;
        }

        public String getPolitics() {
            return this.politics;
        }

        public void setPolitics(String politics_in) {
            this.politics = politics_in;
        }

        public String getPorn() {
            return this.porn;
        }

        public void setPorn(String porn_in) {
            this.porn = porn_in;
        }

        public String getAbuse() {
            return this.abuse;
        }

        public void setAbuse(String abuse_in) {
            this.abuse = abuse_in;
        }

        public static enum SuggestionEnum {
            @SerializedName("block")
            BLOCK,
            @SerializedName("pass")
            PASS,
            @SerializedName("review")
            REVIEW;

            private SuggestionEnum() {
            }
        }
    }

    public static class ReviewDetail implements Serializable {
        private static final long serialVersionUID = 1L;
        @SerializedName("confidence")
        private String confidence = null;
        @SerializedName("label")
        private String label = null;

        public ReviewDetail() {
        }

        public String getConfidence() {
            return this.confidence;
        }

        public void setConfidence(String confidence_in) {
            this.confidence = confidence_in;
        }

        public String getLabel() {
            return this.label;
        }

        public void setLabel(String label_in) {
            this.label = label_in;
        }

        public boolean equals(Object o) {
            if (this == o) {
                return true;
            } else if (o != null && this.getClass() == o.getClass()) {
                ReviewDetail reviewDetail = (ReviewDetail) o;
                return Objects.equals(this.confidence, reviewDetail.confidence) && Objects.equals(this.label, reviewDetail.label);
            } else {
                return false;
            }
        }

        public int hashCode() {
            return Objects.hash(new Object[]{this.confidence, this.label});
        }

        public String toString() {
            StringBuilder sb = new StringBuilder();
            sb.append("class ReviewDetail {\n");
            sb.append("  confidence: ").append(this.confidence).append("\n");
            sb.append("  label: ").append(this.label).append("\n");
            sb.append("}\n");
            return sb.toString();
        }
    }

    public static class PictureReviewRet implements Serializable {
        private static final long serialVersionUID = 1L;
        @SerializedName("suggestion")
        private SuggestionEnum suggestion = null;
        @SerializedName("offset")
        private int offset = 0;
        @SerializedName("url")
        private String url = null;
        @SerializedName("politics")
        private List<ReviewDetail> politics = new ArrayList();
        @SerializedName("terrorism")
        private List<ReviewDetail> terrorism = new ArrayList();
        @SerializedName("porn")
        private List<ReviewDetail> porn = new ArrayList();

        public PictureReviewRet() {
        }

        public SuggestionEnum getSuggestion() {
            return this.suggestion;
        }

        public void setSuggestion(SuggestionEnum suggestion) {
            this.suggestion = suggestion;
        }

        public int getOffset() {
            return this.offset;
        }

        public void setOffset(int offset_in) {
            this.offset = offset_in;
        }

        public String getUrl() {
            return this.url;
        }

        public void setUrl(String url_in) {
            this.url = url_in;
        }

        public List<ReviewDetail> getPolitics() {
            return this.politics;
        }

        public void setPolitics(List<ReviewDetail> politics) {
            this.politics = politics;
        }

        public List<ReviewDetail> getTerrorism() {
            return this.terrorism;
        }

        public void setTerrorism(List<ReviewDetail> terrorism) {
            this.terrorism = terrorism;
        }

        public List<ReviewDetail> getPorn() {
            return this.porn;
        }

        public void setPorn(List<ReviewDetail> porn) {
            this.porn = porn;
        }

        public static enum SuggestionEnum {
            @SerializedName("block")
            BLOCK,
            @SerializedName("pass")
            PASS,
            @SerializedName("review")
            REVIEW;

            private SuggestionEnum() {
            }
        }
    }

    public static class ReviewInfo implements Serializable {
        private static final long serialVersionUID = 1L;
        @SerializedName("suggestion")
        private SuggestionEnum suggestion = null;
        @SerializedName("text")
        private TextReviewRet text = null;
        @SerializedName("cover")
        private List<PictureReviewRet> cover = new ArrayList();
        @SerializedName("video")
        private List<PictureReviewRet> video = new ArrayList();
        @SerializedName("exec_desc")
        private String execDesc = null;

        public ReviewInfo() {
        }

        public String getExecDesc() {
            return this.execDesc;
        }

        public void setExecDesc(String execDesc) {
            this.execDesc = execDesc;
        }

        public SuggestionEnum getSuggestion() {
            return this.suggestion;
        }

        public void setSuggestion(SuggestionEnum suggestion_in) {
            this.suggestion = suggestion_in;
        }

        public TextReviewRet getText() {
            return this.text;
        }

        public void setText(TextReviewRet text_in) {
            this.text = text_in;
        }

        public List<PictureReviewRet> getCover() {
            return this.cover;
        }

        public void setCover(List<PictureReviewRet> cover_in) {
            this.cover = cover_in;
        }

        public List<PictureReviewRet> getVideo() {
            return this.video;
        }

        public void setVideo(List<PictureReviewRet> video_in) {
            this.video = video_in;
        }

        public static enum SuggestionEnum {
            @SerializedName("block")
            BLOCK,
            @SerializedName("pass")
            PASS,
            @SerializedName("review")
            REVIEW;

            private SuggestionEnum() {
            }
        }
    }

    public static class ThumbnailRsp implements Serializable {
        private static final long serialVersionUID = 1L;
        @SerializedName("offset")
        private int offset = 0;
        @SerializedName("url")
        private String url = null;

        public ThumbnailRsp() {
        }

        public int getOffset() {
            return this.offset;
        }

        public void setOffset(int offset_in) {
            this.offset = offset_in;
        }

        public String getUrl() {
            return this.url;
        }

        public void setUrl(String url_in) {
            this.url = url_in;
        }

        public boolean equals(Object o) {
            if (this == o) {
                return true;
            } else if (o != null && this.getClass() == o.getClass()) {
                ThumbnailRsp thumbnailRsp = (ThumbnailRsp) o;
                return Objects.equals(this.offset, thumbnailRsp.offset) && Objects.equals(this.url, thumbnailRsp.url);
            } else {
                return false;
            }
        }

        public int hashCode() {
            return Objects.hash(new Object[]{this.offset, this.url});
        }

        public String toString() {
            StringBuilder sb = new StringBuilder();
            sb.append("class ThumbnailRsp {\n");
            sb.append("  offset: ").append(this.offset).append("\n");
            sb.append("  url: ").append(this.url).append("\n");
            sb.append("}\n");
            return sb.toString();
        }
    }

    public static class ThumbnailInfo implements Serializable {
        private static final long serialVersionUID = 1L;
        @SerializedName("sample")
        private List<ThumbnailRsp> sample = new ArrayList();
        @SerializedName("dots")
        private List<ThumbnailRsp> dots = new ArrayList();
        @SerializedName("exec_desc")
        private String execDesc = null;

        public ThumbnailInfo() {
        }

        public List<ThumbnailRsp> getSample() {
            return this.sample;
        }

        public void setSample(List<ThumbnailRsp> sample_in) {
            this.sample = sample_in;
        }

        public List<ThumbnailRsp> getDots() {
            return this.dots;
        }

        public void setDots(List<ThumbnailRsp> dots_in) {
            this.dots = dots_in;
        }

        public String getExecDesc() {
            return this.execDesc;
        }

        public void setExecDesc(String execDesc) {
            this.execDesc = execDesc;
        }
    }

    public static class Output implements Serializable {
        private static final long serialVersionUID = 1L;
        @SerializedName("play_type")
        private PlayTypeEnum playType = null;
        @SerializedName("url")
        private String url = null;
        @SerializedName("encrypted")
        private int encrypted = 0;
        @SerializedName("quality")
        private QualityEnum quality = null;
        @SerializedName("meta_data")
        private QueryAssetMetaRsp.MetaData metaData = null;

        public Output() {
        }

        public PlayTypeEnum getPlayType() {
            return this.playType;
        }

        public void setPlayType(PlayTypeEnum playType_in) {
            this.playType = playType_in;
        }

        public String getUrl() {
            return this.url;
        }

        public void setUrl(String url_in) {
            this.url = url_in;
        }

        public int getEncrypted() {
            return this.encrypted;
        }

        public void setEncrypted(int encrypted_in) {
            this.encrypted = encrypted_in;
        }

        public QualityEnum getQuality() {
            return this.quality;
        }

        public void setQuality(QualityEnum quality_in) {
            this.quality = quality_in;
        }

        public QueryAssetMetaRsp.MetaData getMetaData() {
            return this.metaData;
        }

        public void setMetaData(QueryAssetMetaRsp.MetaData metaData_in) {
            this.metaData = metaData_in;
        }

        public static enum PlayTypeEnum {
            @SerializedName("HLS")
            HLS,
            @SerializedName("DASH")
            DASH,
            @SerializedName("MP4")
            MP4;

            private PlayTypeEnum() {
            }
        }

        public static enum QualityEnum {
            @SerializedName("FLUENT")
            FLUENT,
            @SerializedName("SD")
            SD,
            @SerializedName("HD")
            HD,
            @SerializedName("FULL_HD")
            FULL_HD;

            private QualityEnum() {
            }
        }
    }

    public static class TranscodeInfo implements Serializable {
        private static final long serialVersionUID = 1L;
        @SerializedName("template_group_name")
        private String templateGroupName = null;
        @SerializedName("output")
        private List<Output> output = new ArrayList();
        @SerializedName("exec_desc")
        private String execDesc;

        public TranscodeInfo() {
        }

        public String getTemplateGroupName() {
            return this.templateGroupName;
        }

        public void setTemplateGroupName(String templateGroupName_in) {
            this.templateGroupName = templateGroupName_in;
        }

        public List<Output> getOutput() {
            return this.output;
        }

        public void setOutput(List<Output> output_in) {
            this.output = output_in;
        }

        public String getExecDesc() {
            return this.execDesc;
        }

        public void setExecDesc(String execDesc) {
            this.execDesc = execDesc;
        }
    }

    public static class BaseInfo implements Serializable {
        private static final long serialVersionUID = 1L;
        @SerializedName("title")
        private String title = null;
        @SerializedName("video_name")
        private String videoName = null;
        @SerializedName("description")
        private String description = null;
        @SerializedName("category_id")
        private long categoryId = 0L;
        @SerializedName("category_name")
        private String categoryName = null;
        @SerializedName("create_time")
        private String createTime = null;
        @SerializedName("last_modified")
        private String lastModified = null;
        @SerializedName("video_type")
        private String videoType = null;
        @SerializedName("tags")
        private String tags = null;
        @SerializedName("meta_data")
        private QueryAssetMetaRsp.MetaData metaData = null;
        @SerializedName("video_url")
        private String videoUrl = null;
        @SerializedName("cover_info_array")
        private List<QueryAssetMetaRsp.AssetInfo.BaseInfo.CoverInfo> coverInfoArray = new ArrayList();
        @SerializedName("subtitle_info")
        private List<QueryAssetMetaRsp.AssetInfo.BaseInfo.SubtitleInfo> subtitleInfo = new ArrayList();
        @SerializedName("source_path")
        private QueryAssetMetaRsp.AssetInfo.BaseInfo.FileAddr sourcePath = null;
        @SerializedName("output_path")
        private QueryAssetMetaRsp.AssetInfo.BaseInfo.FileAddr outputPath = null;

        public BaseInfo() {
        }

        public String getTitle() {
            return this.title;
        }

        public void setTitle(String title_in) {
            this.title = title_in;
        }

        public String getVideoName() {
            return this.videoName;
        }

        public void setVideoName(String videoName_in) {
            this.videoName = videoName_in;
        }

        public String getDescription() {
            return this.description;
        }

        public void setDescription(String description_in) {
            this.description = description_in;
        }

        public long getCategoryId() {
            return this.categoryId;
        }

        public void setCategoryId(long categoryId_in) {
            this.categoryId = categoryId_in;
        }

        public String getCategoryName() {
            return this.categoryName;
        }

        public void setCategoryName(String categoryName_in) {
            this.categoryName = categoryName_in;
        }

        public String getCreateTime() {
            return this.createTime;
        }

        public void setCreateTime(String createTime_in) {
            this.createTime = createTime_in;
        }

        public String getLastModified() {
            return this.lastModified;
        }

        public void setLastModified(String lastModified_in) {
            this.lastModified = lastModified_in;
        }

        public String getVideoType() {
            return this.videoType;
        }

        public void setVideoType(String videoType_in) {
            this.videoType = videoType_in;
        }

        public String getTags() {
            return this.tags;
        }

        public void setTags(String tags_in) {
            this.tags = tags_in;
        }

        public QueryAssetMetaRsp.MetaData getMetaData() {
            return this.metaData;
        }

        public void setMetaData(QueryAssetMetaRsp.MetaData metaData_in) {
            this.metaData = metaData_in;
        }

        public String getVideoUrl() {
            return this.videoUrl;
        }

        public void setVideoUrl(String videoUrl_in) {
            this.videoUrl = videoUrl_in;
        }

        public List<QueryAssetMetaRsp.AssetInfo.BaseInfo.CoverInfo> getCoverInfoArray() {
            return this.coverInfoArray;
        }

        public void setCoverInfoArray(List<QueryAssetMetaRsp.AssetInfo.BaseInfo.CoverInfo> coverInfoArray_in) {
            this.coverInfoArray = coverInfoArray_in;
        }

        public List<QueryAssetMetaRsp.AssetInfo.BaseInfo.SubtitleInfo> getSubtitleInfo() {
            return this.subtitleInfo;
        }

        public void setSubtitleInfo(List<QueryAssetMetaRsp.AssetInfo.BaseInfo.SubtitleInfo> subtitleInfo_in) {
            this.subtitleInfo = subtitleInfo_in;
        }

        public QueryAssetMetaRsp.AssetInfo.BaseInfo.FileAddr getSourcePath() {
            return this.sourcePath;
        }

        public void setSourchPath(QueryAssetMetaRsp.AssetInfo.BaseInfo.FileAddr sourcePath) {
            this.sourcePath = sourcePath;
        }

        public QueryAssetMetaRsp.AssetInfo.BaseInfo.FileAddr getOutputPath() {
            return this.outputPath;
        }

        public void setOutputPath(QueryAssetMetaRsp.AssetInfo.BaseInfo.FileAddr outputPath) {
            this.outputPath = outputPath;
        }
    }
}
